@primary-color: #1890ff;
@success-color: #52c41a;
@warning-color: #faad14;
@error-color: #f5222d;
@heading-color: #333333;
@text-color: #666666;

.dashboard-page {
  padding: 24px;
  background-color: #f0f2f5;
  min-height: 100vh;

  .page-header {
    margin-bottom: 24px;

    .page-title {
      font-size: 24px;
      font-weight: bold;
      color: @heading-color;
      margin-bottom: 8px;
    }

    .page-description {
      color: @text-color;
      font-size: 14px;
    }
  }

  .stat-cards {
    margin-bottom: 24px;

    .stat-card {
      border-radius: 8px;
      overflow: hidden;

      .card-content {
        padding: 16px;
      }

      .card-title {
        font-size: 14px;
        color: @text-color;
        margin-bottom: 8px;
      }

      .card-value {
        font-size: 24px;
        font-weight: bold;
        color: @heading-color;
        margin-bottom: 8px;
      }

      .card-footer {
        display: flex;
        align-items: center;

        .trend-text {
          margin-left: 8px;
          font-size: 13px;

          &.up {
            color: @success-color;
          }

          &.down {
            color: @error-color;
          }
        }
      }
    }
  }

  .chart-container {
    background-color: #fff;
    padding: 24px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    margin-bottom: 24px;

    .chart-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 16px;

      .chart-title {
        font-size: 16px;
        font-weight: 500;
        color: @heading-color;
      }
    }

    .chart-content {
      height: 300px;
    }
  }

  .table-container {
    background-color: #fff;
    padding: 24px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);

    .table-header {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 16px;

      .table-title {
        font-size: 16px;
        font-weight: 500;
        color: @heading-color;
      }
    }
  }

  .metric-card {
    background: linear-gradient(135deg, #1890ff 0%, #096dd9 100%);
    color: #fff;
    border-radius: 8px;
    padding: 20px;
    box-shadow: 0 4px 12px rgba(24, 144, 255, 0.2);

    .metric-title {
      font-size: 14px;
      opacity: 0.85;
      margin-bottom: 12px;
    }

    .metric-value {
      font-size: 28px;
      font-weight: bold;
      margin-bottom: 8px;
    }

    .metric-footer {
      display: flex;
      align-items: center;
      font-size: 12px;
      opacity: 0.8;
    }
  }
}
